package game.model.request;

import common.model.enums.FileSizeUnitEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author 米泽鹏
 * @since 2024/9/8 18:20
 */
@Data
public class SaveBlueprintRequest {

	private Long id;

	@NotBlank(message = "蓝图名称不能为空")
	private String blueprintName;

	private String description;

	@NotNull(message = "是否是巨型蓝图不能为空：0-否 1-是")
	private Integer isMega;

	private Integer itemCount;

	private List<Integer> coordinate;

	private Integer isOriginalLocationOnly;

	private BigDecimal rate;

	@NotNull(message = "游戏版本不能为空")
	private Integer gameVersion;

	private Long authorId;

	@NotBlank(message = "下载链接不能为空")
	private String downloadUrl;

	private String configDownloadUrl;

	@NotNull(message = "下载次数不能为空")
	private Integer downloadCount;

	@NotNull(message = "文件大小不能为空")
	private BigDecimal fileSize;

	/**
	 * {@link FileSizeUnitEnum}
	 */
	@NotNull(message = "文件大小单位不能为空： 1-KB 2-MB 3-GB")
	private Integer fileSizeUnit;

	@NotBlank(message = "蓝图创建时间不能为空")
	private String blueprintCreateTime;

	@NotBlank(message = "蓝图更新时间不能为空")
	private String blueprintUpdateTime;

	private List<String> images;

	private String iconImage;

	private String iconImageBackground;

	private List<Long> classificationIdList;

}
